package model;

import java.util.ArrayList;
import java.util.List;

public class Student {
    private String studentId;
    private String studentName;
    private String gender; // 新增：性别
    private String college; // 新增：所属学院
    private List<Course> selectedCourses = new ArrayList<>();

    // 修改：构造方法新增 gender、college 参数
    public Student(String studentId, String studentName, String gender, String college) {
        this.studentId = studentId;
        this.studentName = studentName;
        this.gender = gender; // 新增：初始化性别
        this.college = college; // 新增：初始化学院
    }

    // 修改：selectCourse 方法新增学生性别和学院信息
    public void selectCourse(Course course) {
        selectedCourses.add(course);
        System.out.println(studentName + "("+ gender + "，" + college + "学院）选了" + course.getCourseName() + "课程");
    }

    // 修改：printCourseSchedule 方法新增学生性别、学院和选课数量
    public void printCourseSchedule() {
        // 新增：显示性别、学院和选课数量（selectedCourses.size() 统计数量）
        System.out.println(studentName + "（" + gender + "，" + college + "学院）的课表（共" + selectedCourses.size() + "门课）：");
        for (Course course : selectedCourses) {
            course.showCourseInfo(); // 复用课程的显示方法，包含新增的课程介绍
        }
    }

    // 新增：gender 和 college 的 Getter/Setter
    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getCollege() {
        return college;
    }

    public void setCollege(String college) {
        this.college = college;
    }

    // 其他原有属性的 Getter/Setter 不变（省略）
    // 学生退课方法
public void dropCourse(Course course) {
    if (selectedCourses.remove(course)) {
        System.out.println(studentName + "（" + gender + "，" + college + "学院）退选了" + course.getCourseName() + "课程");
    } else {
        System.out.println(studentName + "未选过" + course.getCourseName() + "课程");
    }
}
}